<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
    <script>
        // 数组中新增了map和reduce方法
        // 1）map：接收一个函数，将原数组中的所有元素用这个函数处理后放入新数组返回
        /* let arr = ['1', '20', '-5', '3'];
        console.log(arr);

        arr = arr.map(function(s) {
            return parseInt(s);
        });
        console.log(arr); */

        // 2）reduce：为数组中的每一个元素依次执行回调函数
        const arr = [1, 20, -5, 3];
        // 未提供初始值，则将使用数组中的第一个元素
        console.log(arr.reduce((a,b)=>a+b)); // 19
        console.log(arr.reduce((a,b)=>a*b)); // -300

        // 指定初始值
        console.log(arr.reduce((a,b)=>a+b,1)); // 20
        console.log(arr.reduce((a,b)=>a*b,0)); // -0
    </script>
</body>
</html>